.fp 5 CW
.de Af
.ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
.if !\\$4 .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
..
.de aF
.ie \\$3 .ft \\$1
.el \{\
.ds ;G \&
.nr ;G \\n(.f
.Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
\\*(;G
.ft \\n(;G \}
..
.de L
.aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
..
.de LR
.aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
..
.de RL
.aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
..
.de EX		\" start example
.ta 1i 2i 3i 4i 5i 6i
.PP
.RS 
.PD 0
.ft 5
.nf
..
.de EE		\" end example
.fi
.ft
.PD
.RE
.PP
..
.TH MEM 3
.SH NAME
mem \- fixed string routines
.SH SYNOPSIS
.EX
#include <ast.h>

void    mematoe(void* \fIout\fP, const void* \fIin\fP, size_t \fIn\fP);
void*   memdup(const void* \fIbuf\fP, size_t \fIn\fP)
void    memetoa(void* \fIout\fP, const void* \fIin\fP, size_t \fIn\fP);
void*   memzero(void* \fIbuf\fP, size_t \fIn\fP);
.EE
.SH DESCRIPTION
.L mematoe
converts
.I n
ASCII characters in
.I in
to EBCDIC characters in
.IR out .
.I in
and
.I out
may be the same.
.PP
.L memdup
copies the 
.I n
byte buffer
.I buf
to a new location provided by
.IR malloc (3)
and returns a pointer to the new copy.
0 is returned if
.IR malloc (3)
fails.
.PP
.L memetoa
converts
.I n
EBCDIC characters in
.I in
to ASCII characters in
.IR out .
.I in
and
.I out
may be the same.
.PP
.L memzero
sets the first 
.I n
bytes in
.I buf
to 
.IR 0 .
.SH "SEE ALSO"
Proposed Bell Laboratories ASCII/EBCDIC standard, April 16, 1979.
.br
str(3), vmalloc(3)
